<script>
   /*
            六、权限

                      在小程序中调用JS  API 是否需要提前申请权限，取决于具体API的能力类型。  详情参见：  能力概述 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/introduction/capabilities


                      1、权限分类与申请规则

                                    能力类型                                 适用场景                            申请/授权流程

                                ①、基础能力 & 进阶能力(无需申请)              不涉及用户隐私或敏感信息的API         开发者可直接调用，无需额外申请或用户授权。

                                ②、高级能力（需平台审核）                     涉及用户隐私、数据安全或平台核心       ①、登录抖音开放平台，进入小程序控制台，在【能力管理】中选择所需权限（如 【用户数据能力】中的【抖音账号数据】）
                                                                            资源的API 
                                                                                                                ②、资质审核：  部分权限需提交企业资质或业务说明(如支付权限需提供 《支付业务许可证》)

                                                                                                                ②、配置白名单：   例如网络请求API需在【开发配置】中添加域名白名单。

                                ③、敏感能力（需用户授权）                     直接影响用户隐私或设备共功能的API      1、声明权限:  在app.json中声明 permission 字段。
                                                                                                                      {
                                                                                                                        "permission": {
                                                                                                                          "scope.userLocation": {
                                                                                                                            "desc": "您的位置信息将用于附近商家推荐"
                                                                                                                          }
                                                                                                                        }
                                                                                                                      }

                                                                                                                2、动态申请：调用API前使用 tt.authorize 或 tt.request 触发授权弹窗
                                                                                                                      tt.authorize({
                                                                                                                        scope: 'scope.userLocation',
                                                                                                                        success() {
                                                                                                                          tt.getLocation({ success: (res) => console.log(res) });
                                                                                                                        },
                                                                                                                        fail() {
                                                                                                                          tt.showModal({ title: '提示', content: '请授权位置权限' });
                                                                                                                        }
                                                                                                                      });


                        2、权限申请原则

                                  ①、按需申请：   仅申请与狠心功能相关的权限，避免过度手机用户信息。

                                  ②、分阶段授权： 例如现请求基础权限（如地理位置），在使用高级功能时在请求敏感权限（如相册）s

                                  ③、用户引导：   在授权弹窗中清晰说明权限用途（如"获取位置信息以推荐附近餐厅"）



                        3、错误处理与兼容性

                                  ①、权限拒绝处理：  在 fial 回调中引导用户到设置页手动授权。

                                            tt.openSetting({
                                              success(res){
                                                if(res.authSetting['scope.userLocation']){
                                                  // 用户已授权，重新调用API
                                                }
                                              }
                                            })


                                  ②、版本兼容： 使用 tt.canUse 判断API支持情况。

                                            if(tt.canUse('tt.getLocation')){
                                                // 执行 API 调用
                                            }else{
                                                console.log('当前版本不支持该API')
                                            }

                        4、隐私协议配置

                                  ①、必要性：  根据《个人信息保护法》，处理用户个人信息需在隐私协议中明确说明。

                                  ②、配置方法： 在控制台 【设置】----【用户隐私保护协议】 中填写协议内容，并通过 tt.showPrivacySetting 引导用户阅读。

                                              详情请参见  小程序隐私协议开发指南 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/tutorial/security-requirements/privacy-authorize

                        5、注意事项

                                  1、权限政策变化：  平台可能调整权限要求 （如 2025年部分权限回收，需定期查看抖音开放平台公告）。

                                  2、审核风险：  未正确申请权限或滥用权限可能导致小程序审核不通过或被封禁。

                                  3、用户体验：  避免频繁弹出授权弹窗，确保权限申请与用户操作场景一致。

                              通过以上步骤，开发者可合规、高效地管理小程序的JS API权限，既满足功能需求，有保障用户隐私安全。
        */   
       
</script>